Conversation
add shellspec testing, see spec/README.md for details
feat: make ssh_opts_test spec configurable with environment variables feat: add independent target endpoint and clone validation tests fix: missing override options and rename dryrun test: shellspec opts test stuff test: clean up option parsing tests to eliminate warnings and validate outputs test: rename opts test
drop beta warning
test-what-you-can shellspec experiment fix basic args example test
manppages update and dropped unnecessary -L for --raw sends docs: standardize SYNOPSIS sections in man pages dropped unnecessary -L for --raw sends docs: add missing EXIT STATUS and NOTES sections to man pages tweak prune to use 'tee' instead of a blind redirect docs: standardize code blocks, fix typos, and update references move freebsd ports template increment to Zelta version 1.1 docs: add zelta-prune(8) to new man pages list
local review of shellspec tester fix: replace command string concatenation with functions for shell compatibility fix: ensure clean exit statuses in test helper functions fix: remove external commands from skip functions to prevent Shellspec errors fix: add -n flag to ssh commands in test helpers to prevent stdin reading fix missing 'ssh -n' input capture bug with shellspec test: add divergent tree setup spec and helpers test: add divergent tree match test with complex scenarios divergent test example fix divergent test testing: add canmount permission for target creation test: fix skip condition for divergent spec tests testing: switch to cleaner testing output mode test: add helper functions for pool and command validation
fix: output source and target list times in zelta match summary when --time is used command build order fix: make snapshot name parsing portable across awk variants fix LOG_MODE processing especially for 'zelta match' improve json stream list output fix: add SYSTIME option for mawk JSON timestamp compatibility ensure replicationStreams* json doesn't report 'null'
add install/uninstall to test spec
test: add marker files to track pool creation in tests test: add process ID to marker files and dataset cleanup spec test improvement to only remove pool and trees if we created them
refactor: improve install-from-git.sh branch parsing and PATH warnings
…H warning logic feat: enhance PATH warning to detect conflicting zelta binaries in install.sh
refactor: remove interactive prompts from install.sh and add ZELTA_QUIET support fix: suppress install.sh guidance in curl installer fix: update repo URL and simplify PATH guidance in install scripts
Refactor ShellSpec test infrastructure and generation system Restructure test directory with version 1 archive of prior work and a new modular architecture under test/runners. Test generation: Add Ruby-based ShellSpec test generator with YAML schema support Modularize placeholder substitution and use when_command in schema Make shellspec_name the single source of truth (extracted from YAML) Add YAML validation script (validate_yaml.rb) Handle command timeouts, failures, and empty output gracefully Fix env var substitution to match longest token first Escape backticks in output to prevent shell evaluation Force UTF-8 encoding on output handling during SysExec calls Exit matcher generation on awk errors Test coverage: Add generated tests for divergent tree, zelta revert, and zelta clone Break divergent tree setup into discrete phases (initial, backup, divergence) Wrap divergent tree tests with Describe blocks for conditional Skip If Environment and portability: Add helpers to configure env vars from the last tmp-installed zelta Allow bypass of process-based env vars for pre-configured environments Use which instead of command -v for Ubuntu compatibility Use ls -1d for portable directory listing Use sudo for local zfs allow; update error checks after permission changes Project structure: Reorganize test/runners into env/ and test_generation/ directories Implement absolute path resolution (SCRIPT_DIR pattern) across all scripts Rename manual_cleanup.sh to test_generator_cleanup.sh Move .rubocop.yml to lib/ruby/, fix RuboCop warnings Documentation: Rewrite test_generation and test/runners READMEs Add debugging workflow docs and file hierarchy restructuring plan
- Added new ShellSpec tests for policy and prune - Fixed automatic test generation output comparison across different OSes - Regenerated all YAML-defined tests and verified with mixed remote testing on Ubuntu and FreeBSD - Added GitHub Actions workflow (.github/workflows/shellspec.yml) to run ShellSpec tests on push to main/dev/feature branches and PRs to main/dev - Added ShellSpec Tests status badge to README - Added -qq flag to zelta clone and zelta revert to accommodate OS-specific output differences - Enabled combined use of pattern and selector specs for debugging tests (test/runners/test_generation/lib/orchestration/setup_tree) - Centralized environment variable substitution cleanup in test_generator.rb, removed from awk matcher generation - Improved test generator error reporting - Added VM setup helpers to create a local Ubuntu VM that mirrors the GitHub Actions testing environment - Improved test README
rlogwood
approved these changes
Mar 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.